package com.wx.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

@Data
@ApiModel(value = "处方统计")
public class PrescriptionStatisticsVo implements Serializable {

    private static final long serialVersionUID = 2644832645790460700L;

    @ExcelProperty(value = "患者姓名", index = 0)
    @ColumnWidth(value = 25)
    @ApiModelProperty(value = "患者姓名")
    private String patientName;

    @ExcelProperty(value = "护士姓名", index = 1)
    @ColumnWidth(value = 25)
    @ApiModelProperty(value = "护士姓名")
    private String nurseName;

    /**
     * icf编号
     */
    @ApiModelProperty(value = "icf编号")
    @ExcelProperty(value = "icf编号", index = 2)
    @ColumnWidth(value = 25)
    private String followCode;

    @ExcelProperty(value = "患者手机号码", index = 3)
    @ColumnWidth(value = 25)
    @ApiModelProperty(value = "患者手机号码")
    private String phone;

    @ExcelProperty(value = "患者身份证号", index = 4)
    @ColumnWidth(value = 25)
    @ApiModelProperty(value = "患者身份证号")
    private String idNum;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ExcelProperty(value = "处方时间", index = 5)
    @ColumnWidth(value = 25)
    @ApiModelProperty(value = "处方时间")
    private Date prescriptionTime;

    @ExcelProperty(value = "处方原因", index = 6)
    @ColumnWidth(value = 25)
    private String prescriptionReason;


    @ExcelProperty(value = "体重", index = 7)
    @ColumnWidth(value = 25)
    private BigDecimal weight;

    /**
     * 入组省份
     */
    @ApiModelProperty(value = "入组省份")
    @ExcelIgnore
    private String joinProvinceId;

    /**
     * 入组城市名称
     */
    @ApiModelProperty(value = "入组省份")
    @ExcelProperty(value = "入组省份", index = 8)
    @ColumnWidth(value = 25)
    private String joinProvinceName;

    /**
     * 居住城市
     */
    @ApiModelProperty(value = "入组城市Id")
    @ExcelIgnore
    private String joinCityId;

    /**
     * 入组城市名称
     */
    @ApiModelProperty(value = "入组城市名称")
    @ExcelProperty(value = "入组城市", index = 9)
    @ColumnWidth(value = 25)
    private String joinCityName;

    /**
     * 当前入组医院名称
     */
    @ApiModelProperty(value = "当前入组医院名称")
    @ExcelIgnore
    private String hospitalId;

    /**
     * 当前入组医院名称
     */
    @ApiModelProperty(value = "当前入组医院名称")
    @ExcelProperty(value = "医院", index = 10)
    @ColumnWidth(value = 25)
    private String hospitalName;

    /**
     * 医保类型：0：城镇职工 1：新农合 2城市居民-成人 3：城市居民-儿童 4离休干部 5：退休干部 6：其他商业医保 7：没有医保
     */
    @ApiModelProperty(value = "医保类型：0：城镇职工 1：新农合 2城市居民-成人 3：城市居民-儿童 4离休干部 5：退休干部 6：其他商业医保 7：没有医保")
    @ExcelProperty(value = "医保类型", index = 11)
    @ColumnWidth(value = 25)
    private String medicalInsurance;

    /**
     * 医保限额
     */
    @ApiModelProperty(value = "医保限额")
    @ExcelProperty(value = "医保限额", index = 12)
    @ColumnWidth(value = 25)
    private String medicalInsuranceLimitMoney;


    /**
     * 是否处方 0：否 1：是
     */
    @ApiModelProperty(value = "是否处方 0：否 1：是")
    @ExcelProperty(value = "是否处方", index = 13)
    @ColumnWidth(value = 25)
    private String prescription;

    /**
     * 用药时间
     */
    @ExcelProperty(value = "用药时间", index = 14)
    @ColumnWidth(value = 25)
    private String startTreatmentTime;

    /**
     * 用药状态
     */
    @ApiModelProperty(value = "用药状态")
    @ExcelProperty(value = "用药状态", index = 15)
    @ColumnWidth(value = 25)
    private String medicationStatus;

    /**
     * 目前治疗剂量
     */
    @ApiModelProperty(value = "目前治疗剂量")
    @ExcelProperty(value = "目前治疗剂量", index = 16)
    @ColumnWidth(value = 25)
    private String dosage;

    /**
     * 当前治疗方案 0：按需治疗 1:预防治疗 2:其他
     */
    @ApiModelProperty(value = "当前治疗方案 0：按需治疗 1:预防治疗 2:其他")
    @ExcelProperty(value = "当前治疗方案", index = 17)
    @ColumnWidth(value = 25)
    private String treatmentPlan;




}
